package com.agileboot.domain.airport.reform.dto;

import cn.hutool.core.bean.BeanUtil;
import com.agileboot.domain.airport.reform.db.SirReformMainEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class ReformMainDTO {

    public ReformMainDTO(SirReformMainEntity entity) {
        if (entity != null) {
            BeanUtil.copyProperties(entity, this);
        }
    }

    private Long reformId;
    private String code;
    private Long relatedQuestionId;
    private String questionSourceName;
    private Date checkDate;
    private String inspectors;
    private Date issueDate;
    private Date requestFeedbackDate;
    private String questionTitle;
    private String reformTitle;
    private Long issueDeptId;
    private Long dutyDeptId;
    // 新增字段
    private String issueDeptName;
    private String dutyDeptName;

    private Long curDealDeptId;
    private String curDealDeptName;


    private String reformRequirement;
    private String requireDefineCause;
    private String requireDefineAction;
    private String directCause;
    private String rootCause;
    private String causeEvalerName;
    private Date causeEvalTime;
    private Date correctiveDeadline;
    private Date precautionDeadline;
    private String actionMakerName;
    private Date actionMakeTime;
    private String actionIsOk;
    private String actionEval;
    private String actionEvalerName;
    private Date actionEvalTime;
    private String correctiveActionProofUploaderName;
    private Date correctiveActionProofUploadTime;
    private String correctiveActionProofEvalIsOk;
    private String correctiveActionProofEvalerName;
    private Date correctiveActionProofEvalTime;
    private String precautionActionProofUploaderName;
    private Date precautionActionProofUploadTime;
    private String precautionActionProofEvalIsOk;
    private String precautionActionProofEvalerName;
    private Date precautionActionProofEvalTime;
    private String proofEvalIsOk;
    private String proofEvalerName;
    private Date proofEvalTime;
    private String reformStatus;
    private String reformType;
    private Long relateId;
    private String relateCode;
    private String terminalType;
    private String isReport;
    private String isFile;
    private String requireDefineCauseRoot;
    private String requireDefineActionPre;
    private String isShareReport;
    private Date createTime;
    private String correctiveAction;
    private Long inspectionCheckId;
//问题描述
    private String problemDetail;
// 问题来源
    private String problemSource;


    private String basis;

    private String precautionAction;

    private Integer severity;

    private Integer possibility;

    private String rectificationOpinion;
    private String rectificationResult;

    private String problemTittle;


}
